package com.member.shop.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.member.common.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author wangxin
 * @Description
 * @date 2024/1/16 16:17
 **/
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Data
public class OrderDetailVo {

    private Long id;

    /**
     * 商品列表
     */
    private List<OrderGoodsVo> orderGoodsVoList;

    /**
     * 总金额
     */
    private BigDecimal totalAmount;

    /**
     * 备注
     */
    private String remark;

    /**
     * 真实支付金额
     */
    private BigDecimal amount;

    /**
     * 订单编号
     */
    private String orderCode;

    /**
     * 下单时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date orderAddTime;

    /**
     * 发货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date deliveryGoodsTime;

    /**
     * 收货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date receiverGoodsTime;

    /**
     * 取消时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date cancelTime;

    /**
     * 取消原因
     */
    private String cancelReason;

    /**
     * 支付时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date paymentTime;

    /**
     * 支付超时时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date paymentTimeEnd;

    /**
     * 收货人
     */
    private String receiver;

    /**
     * 联系电话
     */
    private String contactNumber;

    /**
     * 收货地址
     */
    private String receiverAddress;

    /**
     * 订单状态
     * 待支付：10、已支付：15、待发货：20、已发货：30、已完成：40、已取消：90、售后中: 80、售后成功：85、售后失败：88
     */
    private Integer status;

    /**
     * 分账金抵扣金额
     */
    private BigDecimal balanceDiscountAmount;

    /**
     * 余额抵扣金额
     */
    private BigDecimal surplusAmount;
    /**
     * 支付方式 (0 微信  1 余额支付)
     */
    private Integer paymentType;
    /**
     * 优惠券抵扣金额
     */
    private BigDecimal couponPrice;
    /**
     * 售后信息
     */
    private AfterServiceVo afterServiceVo;
    /**
     * 支付流水号
     */
    private String paymentId;
    /**
     * 实付金额
     */
    private BigDecimal actualPaymentAmount;

}
